using System;
using System.Configuration;
using System.Data;
using System.Text;
using System.Web.Caching;
using System.Web.UI.WebControls;
using Anthem;
using Common;
using MinCultura.Sipa.DataAccess.AgentesArtes;
using MinCultura.Sipa.AgentesArtes;
using UsrControls;
using DropDownList = Anthem.DropDownList;
using Label = Anthem.Label;
using RadioButtonList = Anthem.RadioButtonList;

namespace MinCultura.Sinic.WebUserControls.Artes
{
	/// <summary>
	/// User Control acceso a Informacion SocioEconomica de Agentes de SIPA
	/// </summary>
	public class AgentesSocioEconomica : SinicUserControl
	{
		protected Anthem.Label lblAGE_SEGURIDAD_SOCIAL_RIESGOS;
		#region - Controles

		protected Label lblREG_PENSIONES_ID;
		protected Anthem.Label lblAGE_SEGURIDAD_SOCIAL_PENSIONES;
		protected Label lblREG_SALUD_ID;
		protected Anthem.Label lblAGE_SEGURIDAD_SOCIAL_SALUD;
		protected Anthem.CompareValidator regAGE_PORCENTAJE_ACTIVIDAD_ATISTICA;
		protected Anthem.Label lblAGE_PORCENTAJE_ACTIVIDAD_ATISTICA;
		protected TextBoxBase txtAGE_INGRESOS_DIRECTOS_MES;
		protected Anthem.Label lblAGE_INGRESOS_DIRECTOS_MES;
		protected Anthem.Label lblFIN_ID;
		protected TextBoxBase txtAGE_OTRA_SITUACION_LABORAL;
		protected Label lblAGE_OTRA_SITUACION_LABORAL;
		protected Anthem.Label lblSLA_ID;
		protected Anthem.Label lblAGE_ESTRATO;
		protected TextBoxBase txtAGE_OTRO_TIPO_VIVIENDA;
		protected Label lblAGE_OTRO_TIPO_VIVIENDA;
		protected Anthem.Label lblTIV_ID;
		protected Anthem.Label Label3;
		protected DropDownList ddlTipoVivienda;
		protected DropDownList ddlSLA_ID;
		protected TextBoxBase txtAGE_PORCENTAJE_ACTIVIDAD_ATISTICA;
		protected RadioButtonList opcAGE_SEGURIDAD_SOCIAL_SALUD;
		protected RadioButtonList opcAGE_SEGURIDAD_SOCIAL_PENSIONES;
		protected RadioButtonList opcAGE_SEGURIDAD_SOCIAL_RIESGOS;
		protected DropDownList dplREG_SALUD_ID;
		protected DropDownList dplFIN_ID;
		protected DropDownList dplAGE_ESTRATO;
		protected DropDownBase dplREG_PENSIONES_ID;
		protected Anthem.CompareValidator regAGE_PORCENTAJE_ACTIVIDAD_ATISTICA2;
		protected Anthem.Label lb_Porcentaje;
		protected Anthem.CustomValidator CustomValOtroTipoVivienda;
		protected Anthem.CustomValidator CustomValTipoVinculacion;
		protected Anthem.TextBox lbAgente;
		protected RadioButtonList opcAGE_OTRA_ACTIVIDAD;

		#endregion 

		#region - Eventos

		private void Page_Load(object sender, EventArgs e)
		{			
			if (!IsPostBack)
			{
				Manager.Register(this);
				
				if (Identificador == 0)
				{					
					CargaDatos();					
				}
				CustomValOtroTipoVivienda.ErrorMessage = Utilidad.TraerMensaje("gmsgCampoRequerido", txtAGE_OTRO_TIPO_VIVIENDA.ToolTip);
				CustomValTipoVinculacion.ErrorMessage = Utilidad.TraerMensaje("gmsgCampoRequerido", txtAGE_OTRA_SITUACION_LABORAL.ToolTip);
			}
			MantenerEstadoVisualFormulario();
		}

		private void ddlTipoVivienda_SelectedIndexChanged(object sender, EventArgs e)
		{
			if (ddlTipoVivienda.SelectedValue != Utilidad.Jurado_OtroTipoVivienda.ToString())
			{
				lblAGE_OTRO_TIPO_VIVIENDA.Enabled = false;
				txtAGE_OTRO_TIPO_VIVIENDA.Enabled = false;
				txtAGE_OTRO_TIPO_VIVIENDA.Text = "";
			}
			else
			{
				lblAGE_OTRO_TIPO_VIVIENDA.Enabled = true;
				txtAGE_OTRO_TIPO_VIVIENDA.Enabled = true;
			}
			lblAGE_OTRO_TIPO_VIVIENDA.UpdateAfterCallBack = true;
			txtAGE_OTRO_TIPO_VIVIENDA.UpdateAfterCallBack = true;
		}

		private void ddlSLA_ID_SelectedIndexChanged(object sender, EventArgs e)
		{
			if (ddlSLA_ID.SelectedValue != "-1")
			{
				txtAGE_OTRA_SITUACION_LABORAL.Enabled = false;
				lblAGE_OTRA_SITUACION_LABORAL.Enabled = false;
				txtAGE_OTRA_SITUACION_LABORAL.Text = "";
			}
			else
			{
				txtAGE_OTRA_SITUACION_LABORAL.Enabled = true;
				lblAGE_OTRA_SITUACION_LABORAL.Enabled = true;
			}
			txtAGE_OTRA_SITUACION_LABORAL.UpdateAfterCallBack = true;
			lblAGE_OTRA_SITUACION_LABORAL.UpdateAfterCallBack = true;
		}

		#endregion

		#region - Metodos Publicos

		/// <summary>
		/// Recrea la Info del Agente a partir del Id
		/// </summary>
		/// <param name="idAgente"></param>
		public void CreaEntorno(decimal idAgente)
		{
            MinCultura.Sipa.AgentesArtes.AgentesSocioeconomica objAgentesSocioEconomica = new MinCultura.Sipa.AgentesArtes.AgentesSocioeconomica(ConfigurationManager.AppSettings["conn"]);
			dtAgentesSocioEconomica = new AgentesSocioeconomicaData();
			dtAgentesSocioEconomica = objAgentesSocioEconomica.ConsultarAgentesSocioeconomica(idAgente);
			if (dtAgentesSocioEconomica != null && dtAgentesSocioEconomica.Rows.Count>0)
			{
				CreaEntorno(dtAgentesSocioEconomica.Rows[0]);
			}
			else
			{
				dtAgentesSocioEconomica = new AgentesSocioeconomicaData();
				Identificador = idAgente;
				FichaNueva = true;
				CargaDatos();							
			}
		}

		public void CreaEntorno(DataRow drAgenteSocioEconomica)
		{
			CargaDatos();
			Identificador = Convert.ToDecimal(drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_ID_FIELD]);

			ddlTipoVivienda.ClearSelection();
			ddlTipoVivienda.SelectedValue = drAgenteSocioEconomica[AgentesSocioeconomicaData.TIV_ID_FIELD].ToString();
			txtAGE_OTRO_TIPO_VIVIENDA.Text = drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_OTRO_TIPO_VIVIENDA_FIELD].ToString();
			if (txtAGE_OTRO_TIPO_VIVIENDA.Text != "")
			{
				lblAGE_OTRO_TIPO_VIVIENDA.Enabled = true;
				txtAGE_OTRO_TIPO_VIVIENDA.Enabled = true;
			}
			else
			{
				lblAGE_OTRO_TIPO_VIVIENDA.Enabled = false;
				txtAGE_OTRO_TIPO_VIVIENDA.Enabled = false;
			}

			dplAGE_ESTRATO.ClearSelection();
			dplAGE_ESTRATO.SelectedValue = drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_ESTRATO_FIELD].ToString();

			ddlSLA_ID.ClearSelection();
			if (drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_OTRA_SITUACION_LABORAL_FIELD].ToString() !="")
			{
				ddlSLA_ID.SelectedValue = "-1";
				txtAGE_OTRA_SITUACION_LABORAL.Enabled = true;
				lblAGE_OTRA_SITUACION_LABORAL.Enabled = true;
				txtAGE_OTRA_SITUACION_LABORAL.Text = drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_OTRA_SITUACION_LABORAL_FIELD].ToString();
			}
			else
			{
				ddlSLA_ID.SelectedValue = drAgenteSocioEconomica[AgentesSocioeconomicaData.SLA_ID_FIELD].ToString();
				txtAGE_OTRA_SITUACION_LABORAL.Enabled = false;
				lblAGE_OTRA_SITUACION_LABORAL.Enabled = false;
				txtAGE_OTRA_SITUACION_LABORAL.Text = "";
			}			

			opcAGE_OTRA_ACTIVIDAD.SelectedIndex = drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_OTRA_ACTIVIDAD_FIELD].ToString() == Utilidad.SI ? 1 : 0;

			dplFIN_ID.ClearSelection();
			dplFIN_ID.SelectedValue = drAgenteSocioEconomica[AgentesSocioeconomicaData.FIN_ID_FIELD].ToString();
			txtAGE_INGRESOS_DIRECTOS_MES.Text = drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_INGRESOS_DIRECTOS_MES_FIELD].ToString();
			txtAGE_PORCENTAJE_ACTIVIDAD_ATISTICA.Text = drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_FIELD].ToString();

			if (drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_SALUD_FIELD].ToString() == Utilidad.SI)
			{
				opcAGE_SEGURIDAD_SOCIAL_SALUD.SelectedIndex = 1;
				dplREG_SALUD_ID.ClearSelection();
				dplREG_SALUD_ID.SelectedValue = drAgenteSocioEconomica[AgentesSocioeconomicaData.REG_SALUD_ID_FIELD].ToString();
				dplREG_SALUD_ID.Enabled = true;
				lblREG_SALUD_ID.Enabled = true;
			}
			else
			{
				opcAGE_SEGURIDAD_SOCIAL_SALUD.SelectedIndex = 0;
				dplREG_SALUD_ID.Enabled = false;
				lblREG_SALUD_ID.Enabled = false;
			}

			if (drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_PENSIONES_FIELD].ToString() == Utilidad.SI)
			{
				opcAGE_SEGURIDAD_SOCIAL_PENSIONES.SelectedIndex = 1;
				lblREG_PENSIONES_ID.Enabled = true;
				dplREG_PENSIONES_ID.Enabled = true;

				ListItem itPension = dplREG_PENSIONES_ID.Items.FindByValue(drAgenteSocioEconomica[AgentesSocioeconomicaData.REG_PENSIONES_ID_FIELD].ToString());
				if (itPension != null)
				{
					dplREG_PENSIONES_ID.ClearSelection();
					itPension.Selected = true;
				}
				//dplREG_PENSIONES_ID.SelectedValue = drAgenteSocioEconomica[AgentesSocioeconomicaData.REG_PENSIONES_ID_FIELD].ToString();
			}
			else
			{
				opcAGE_SEGURIDAD_SOCIAL_PENSIONES.SelectedIndex = 0;
				lblREG_PENSIONES_ID.Enabled = false;
				dplREG_PENSIONES_ID.Enabled = false;
			}

			opcAGE_SEGURIDAD_SOCIAL_RIESGOS.SelectedIndex = drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_RIESGOS_FIELD].ToString() == Utilidad.SI ? 1 : 0;
		}

		public AgentesSocioeconomicaData ObtenerCambios()
		{
			if (dtAgentesSocioEconomica != null && dtAgentesSocioEconomica.Rows.Count > 0)
			{
				dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_NRO_PERSONAS_CARGO_FIELD] = "0";
				dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.TIV_ID_FIELD] = ddlTipoVivienda.SelectedValue;
				dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_OTRO_TIPO_VIVIENDA_FIELD] = txtAGE_OTRO_TIPO_VIVIENDA.Text;
				dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_ESTRATO_FIELD] = dplAGE_ESTRATO.SelectedValue;
				if (ddlSLA_ID.SelectedValue != "-1")
				{
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.SLA_ID_FIELD] = ddlSLA_ID.SelectedValue;
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_OTRA_SITUACION_LABORAL_FIELD] = "";
				}
				else
				{
					ddlSLA_ID.SelectedIndex = 0;
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.SLA_ID_FIELD] = ddlSLA_ID.SelectedValue;
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_OTRA_SITUACION_LABORAL_FIELD] = txtAGE_OTRA_SITUACION_LABORAL.Text;
				}
				if (opcAGE_OTRA_ACTIVIDAD.SelectedIndex == 1)
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_OTRA_ACTIVIDAD_FIELD] = Utilidad.SI;
				else
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_OTRA_ACTIVIDAD_FIELD] = Utilidad.NO;
				dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.FIN_ID_FIELD] = dplFIN_ID.SelectedValue;
				if (txtAGE_INGRESOS_DIRECTOS_MES.Text != "")
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_INGRESOS_DIRECTOS_MES_FIELD] = Convert.ToDecimal(txtAGE_INGRESOS_DIRECTOS_MES.Text);
				else
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_INGRESOS_DIRECTOS_MES_FIELD] = 0;
				if (txtAGE_PORCENTAJE_ACTIVIDAD_ATISTICA.Text != "")
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_FIELD] = Convert.ToDecimal(txtAGE_PORCENTAJE_ACTIVIDAD_ATISTICA.Text);
				else
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_FIELD] = 0;
				if (opcAGE_SEGURIDAD_SOCIAL_SALUD.SelectedIndex == 1)
				{
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_SALUD_FIELD] = Utilidad.SI;
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.REG_SALUD_ID_FIELD] = dplREG_SALUD_ID.SelectedValue;
				}
				else
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_SALUD_FIELD] = Utilidad.NO;

				if (opcAGE_SEGURIDAD_SOCIAL_PENSIONES.SelectedIndex == 1)
				{
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_PENSIONES_FIELD] = Utilidad.SI;
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.REG_PENSIONES_ID_FIELD] = dplREG_PENSIONES_ID.SelectedValue;
				}
				else
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_PENSIONES_FIELD] = Utilidad.NO;

				if (opcAGE_SEGURIDAD_SOCIAL_RIESGOS.SelectedIndex == 1)
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_RIESGOS_FIELD] = Utilidad.SI;
				else
					dtAgentesSocioEconomica.Rows[0][AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_RIESGOS_FIELD] = Utilidad.NO;
			}
			else
			{
				return ObtenerDatos();
			}
			return dtAgentesSocioEconomica;
		}

		public void ObtenerCambios(ref DataRow drAgenteSocioEconomica)
		{
			drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_NRO_PERSONAS_CARGO_FIELD] = "0";
			drAgenteSocioEconomica[AgentesSocioeconomicaData.TIV_ID_FIELD] = ddlTipoVivienda.SelectedValue;
			drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_OTRO_TIPO_VIVIENDA_FIELD] = txtAGE_OTRO_TIPO_VIVIENDA.Text;
			drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_ESTRATO_FIELD] = dplAGE_ESTRATO.SelectedValue;
			if (ddlSLA_ID.SelectedValue != "-1")
			{
				drAgenteSocioEconomica[AgentesSocioeconomicaData.SLA_ID_FIELD] = ddlSLA_ID.SelectedValue;
				drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_OTRA_SITUACION_LABORAL_FIELD] = "";
			}
			else
			{
				ddlSLA_ID.SelectedIndex = 0;
				drAgenteSocioEconomica[AgentesSocioeconomicaData.SLA_ID_FIELD] = ddlSLA_ID.SelectedValue;
				drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_OTRA_SITUACION_LABORAL_FIELD] = txtAGE_OTRA_SITUACION_LABORAL.Text;
			}
			if (opcAGE_OTRA_ACTIVIDAD.SelectedIndex == 1)
				drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_OTRA_ACTIVIDAD_FIELD] = Utilidad.SI;
			else
				drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_OTRA_ACTIVIDAD_FIELD] = Utilidad.NO;

			drAgenteSocioEconomica[AgentesSocioeconomicaData.FIN_ID_FIELD] = dplFIN_ID.SelectedValue;
			if (txtAGE_INGRESOS_DIRECTOS_MES.Text != "")
				drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_INGRESOS_DIRECTOS_MES_FIELD] = Convert.ToDecimal(txtAGE_INGRESOS_DIRECTOS_MES.Text);
			else
				drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_INGRESOS_DIRECTOS_MES_FIELD] = 0;
			if (txtAGE_PORCENTAJE_ACTIVIDAD_ATISTICA.Text != "")
				drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_FIELD] = Convert.ToDecimal(txtAGE_PORCENTAJE_ACTIVIDAD_ATISTICA.Text);
			else
				drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_FIELD] = 0;

			if (opcAGE_SEGURIDAD_SOCIAL_SALUD.SelectedIndex == 1)
			{
				drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_SALUD_FIELD] = Utilidad.SI;
				drAgenteSocioEconomica[AgentesSocioeconomicaData.REG_SALUD_ID_FIELD] = dplREG_SALUD_ID.SelectedValue;
			}
			else
				drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_SALUD_FIELD] = Utilidad.NO;

			if (opcAGE_SEGURIDAD_SOCIAL_PENSIONES.SelectedIndex == 1)
			{
				drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_PENSIONES_FIELD] = Utilidad.SI;
				drAgenteSocioEconomica[AgentesSocioeconomicaData.REG_PENSIONES_ID_FIELD] = dplREG_PENSIONES_ID.SelectedValue;
			}
			else
				drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_PENSIONES_FIELD] = Utilidad.NO;

			if (opcAGE_SEGURIDAD_SOCIAL_RIESGOS.SelectedIndex == 1)
				drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_RIESGOS_FIELD] = Utilidad.SI;
			else
				drAgenteSocioEconomica[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_RIESGOS_FIELD] = Utilidad.NO;
		}

		public AgentesSocioeconomicaData ObtenerDatos()
		{
			AgentesSocioeconomicaData response = new AgentesSocioeconomicaData();
			DataRow row = response.NewRow();
			row[AgentesSocioeconomicaData.AGE_ID_FIELD] = Identificador;
			row[AgentesSocioeconomicaData.TIV_ID_FIELD] = ddlTipoVivienda.SelectedValue;
			row[AgentesSocioeconomicaData.AGE_OTRO_TIPO_VIVIENDA_FIELD] = txtAGE_OTRO_TIPO_VIVIENDA.Text;
			row[AgentesSocioeconomicaData.AGE_ESTRATO_FIELD] = dplAGE_ESTRATO.SelectedValue;
			if (ddlSLA_ID.SelectedValue != "-1")
			{
				row[AgentesSocioeconomicaData.SLA_ID_FIELD] = ddlSLA_ID.SelectedValue;
				row[AgentesSocioeconomicaData.AGE_OTRA_SITUACION_LABORAL_FIELD] = "";
			}
			else
			{
				ddlSLA_ID.SelectedIndex = 0;
				row[AgentesSocioeconomicaData.SLA_ID_FIELD] = ddlSLA_ID.SelectedValue;
				row[AgentesSocioeconomicaData.AGE_OTRA_SITUACION_LABORAL_FIELD] = txtAGE_OTRA_SITUACION_LABORAL.Text;
			}			
			if (opcAGE_OTRA_ACTIVIDAD.SelectedIndex == 1)
				row[AgentesSocioeconomicaData.AGE_OTRA_ACTIVIDAD_FIELD] = Utilidad.SI;
			else
				row[AgentesSocioeconomicaData.AGE_OTRA_ACTIVIDAD_FIELD] = Utilidad.NO;

			row[AgentesSocioeconomicaData.FIN_ID_FIELD] = dplFIN_ID.SelectedValue;
			if (txtAGE_INGRESOS_DIRECTOS_MES.Text != "")
				row[AgentesSocioeconomicaData.AGE_INGRESOS_DIRECTOS_MES_FIELD] = Convert.ToDecimal(txtAGE_INGRESOS_DIRECTOS_MES.Text);
			else
				row[AgentesSocioeconomicaData.AGE_INGRESOS_DIRECTOS_MES_FIELD] = 0;
			if (txtAGE_PORCENTAJE_ACTIVIDAD_ATISTICA.Text != "")
				row[AgentesSocioeconomicaData.AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_FIELD] = Convert.ToDecimal(txtAGE_PORCENTAJE_ACTIVIDAD_ATISTICA.Text);
			else
				row[AgentesSocioeconomicaData.AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_FIELD] = 100;
			if (opcAGE_SEGURIDAD_SOCIAL_SALUD.SelectedIndex == 1)
			{
				row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_SALUD_FIELD] = Utilidad.SI;
				row[AgentesSocioeconomicaData.REG_SALUD_ID_FIELD] = dplREG_SALUD_ID.SelectedValue;
			}
			else
				row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_SALUD_FIELD] = Utilidad.NO;

			if (opcAGE_SEGURIDAD_SOCIAL_PENSIONES.SelectedIndex == 1)
			{
				row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_PENSIONES_FIELD] = Utilidad.SI;
				row[AgentesSocioeconomicaData.REG_PENSIONES_ID_FIELD] = dplREG_PENSIONES_ID.SelectedValue;
			}
			else
				row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_PENSIONES_FIELD] = Utilidad.NO;

			if (opcAGE_SEGURIDAD_SOCIAL_RIESGOS.SelectedIndex == 1)
				row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_RIESGOS_FIELD] = Utilidad.SI;
			else
				row[AgentesSocioeconomicaData.AGE_SEGURIDAD_SOCIAL_RIESGOS_FIELD] = Utilidad.NO;
			response.Rows.Add(row);
			return response;
		}

		#endregion

        public void CargaDatos()
        {
            //////////////////////////////////////////////////////
            //    cargar los datos basicos de los controles     //
            //////////////////////////////////////////////////////

            // Tipo de Vivienda			
            TipoVivienda objBR = new TipoVivienda(ConfigurationManager.AppSettings["conn"]);
            TipoViviendaData objData;
            objData = objBR.BuscarTipoVivienda();
            ddlTipoVivienda.DataSource = objData;
            ddlTipoVivienda.DataTextField = TipoViviendaData.TIV_TIPO_FIELD;
            ddlTipoVivienda.DataValueField = TipoViviendaData.TIV_ID_FIELD;
            ddlTipoVivienda.DataBind();

            // Tipo de Vinculacion Laboral
            SituacionLaboral objLaboral = new SituacionLaboral(ConfigurationManager.AppSettings["conn"]);
            SituacionLaboralData objLaboralData = objLaboral.BuscarSituacionLaboral();
            ddlSLA_ID.DataSource = objLaboralData;
            ddlSLA_ID.DataTextField = SituacionLaboralData.SLA_SITUACION_FIELD;
            ddlSLA_ID.DataValueField = SituacionLaboralData.SLA_ID_FIELD;
            ddlSLA_ID.DataBind();
            ddlSLA_ID.Items.Add(new ListItem("Otra", "-1"));

            //Estrato 
            DataTable dtconce = new DataTable();
            dtconce.Columns.Add("conteo");
            for (int i = 1; i <= 6; i++)
            {
                DataRow drconce = dtconce.NewRow();
                drconce["conteo"] = i;
                dtconce.Rows.Add(drconce);
            }
            dplAGE_ESTRATO.DataSource = dtconce.DefaultView;
            dplAGE_ESTRATO.DataValueField = "conteo";
            dplAGE_ESTRATO.DataTextField = "conteo";
            dplAGE_ESTRATO.DataBind();

            //Requiered
            CustomValTipoVinculacion.ErrorMessage = Utilidad.TraerMensaje("gmsgCampoRequerido", txtAGE_OTRA_SITUACION_LABORAL.ToolTip);
            CustomValOtroTipoVivienda.ErrorMessage = Utilidad.TraerMensaje("gmsgCampoRequerido", txtAGE_OTRO_TIPO_VIVIENDA.ToolTip);

            // Fuente de Ingreso
            FuenteIngreso objIngreso = new FuenteIngreso(ConfigurationManager.AppSettings["conn"]);
            FuenteIngresoData objDataIngreso = new FuenteIngresoData();
            objDataIngreso = objIngreso.BuscarFuenteIngreso();
            DataView oView = new DataView(objDataIngreso.Tables[0]);
            dplFIN_ID.DataSource = oView;
            dplFIN_ID.DataTextField = FuenteIngresoData.FIN_FUENTE_FIELD;
            dplFIN_ID.DataValueField = FuenteIngresoData.FIN_ID_FIELD;
            dplFIN_ID.DataBind();

            // Regimen Salud
            Regimen objBRSalud = new Regimen(ConfigurationManager.AppSettings["conn"]);
            RegimenData objDataSalud = new RegimenData();
            objDataSalud = objBRSalud.BuscarRegimen(Utilidad.SI);
            DataView oView2 = new DataView(objDataSalud.Tables[0]);
            dplREG_SALUD_ID.DataSource = oView2;
            dplREG_SALUD_ID.DataTextField = RegimenData.REG_REGIMEN_FIELD;
            dplREG_SALUD_ID.DataValueField = RegimenData.REG_ID_FIELD;
            dplREG_SALUD_ID.DataBind();
            if (Identificador == 0)
                dplREG_SALUD_ID.SelectedIndex = 0;

            // Regimen Pensiones
            Regimen objBRPension = new Regimen(ConfigurationManager.AppSettings["conn"]);
            RegimenData objDataPension = new RegimenData();
            objDataPension = objBRPension.BuscarRegimen("P");
            DataView oView3 = new DataView(objDataPension.Tables[0]);
            dplREG_PENSIONES_ID.DataSource = oView3;
            dplREG_PENSIONES_ID.DataTextField = RegimenData.REG_REGIMEN_FIELD;
            dplREG_PENSIONES_ID.DataValueField = RegimenData.REG_ID_FIELD;
            dplREG_PENSIONES_ID.DataBind();
            if (Identificador == 0)
                dplREG_PENSIONES_ID.SelectedIndex = 0;

            #region - Acciones por Opcion

            //Salud
            StringBuilder strSalud = new StringBuilder();
            strSalud.Append(opcAGE_SEGURIDAD_SOCIAL_SALUD.ClientID + "_0,");
            strSalud.Append(dplREG_SALUD_ID.ClientID + ",");
            strSalud.Append(lblREG_SALUD_ID.ClientID);
            opcAGE_SEGURIDAD_SOCIAL_SALUD.Attributes["OnClick"] = "return habilitarCamposSINO(" + strSalud.ToString() + ")";

            //Pension
            StringBuilder strPension = new StringBuilder();
            strPension.Append(opcAGE_SEGURIDAD_SOCIAL_PENSIONES.ClientID + "_0,");
            strPension.Append(lblREG_PENSIONES_ID.ClientID + ",");
            strPension.Append(dplREG_PENSIONES_ID.ClientID);
            opcAGE_SEGURIDAD_SOCIAL_PENSIONES.Attributes["OnClick"] = "return habilitarCamposSINO(" + strPension.ToString() + ")";

            #endregion

            if (FichaNueva) //Limpiar Campos
            {

            }
        }

		#region - Propiedades 

		public AgentesSocioeconomicaData dtAgentesSocioEconomica
		{
			get
			{
				AgentesSocioeconomicaData dtSocioEconomica = null;

				if (Cache[AgentesSocioeconomicaData.ART_AGENTES_SOCIOECONOMICA_TABLE+ Session.SessionID] != null)
				{
					dtSocioEconomica =
						(AgentesSocioeconomicaData) Cache[AgentesSocioeconomicaData.ART_AGENTES_SOCIOECONOMICA_TABLE + Session.SessionID];
				}
				return dtSocioEconomica;
			}
			set
			{
				if (value != null)
				{
					Cache.Insert(AgentesSocioeconomicaData.ART_AGENTES_SOCIOECONOMICA_TABLE + Session.SessionID, value, null,
					             DateTime.Now.AddMinutes(20), Cache.NoSlidingExpiration);
				}
			}
		}

		public decimal Identificador
		{
			get
			{
				if (ViewState["Identificador"] != null)
					return ((decimal) ViewState["Identificador"]);
				else
					return (0);
			}
			set { ViewState["Identificador"] = decimal.Parse(value.ToString()); }
		}

		public string NombreAgente
		{
			get
			{
				if (ViewState["NombreAgente"] != null)
					return ((string) ViewState["NombreAgente"]);
				else
					return "";
			}
			set
			{
				ViewState["NombreAgente"] = value.ToString();
				lbAgente.Text = value.ToString();
				lbAgente.UpdateAfterCallBack = true;
			}
		}
		public bool FichaNueva
		{
			get
			{
				if (ViewState["FichaNueva"] != null)
					return ((bool) ViewState["FichaNueva"]);
				else
					return false;
			}
			set { ViewState["FichaNueva"] = bool.Parse(value.ToString()); }
		}

		#endregion

		#region Metodos Privados				

		    

		#endregion

		#region Web Form Designer generated code

		protected override void OnInit(EventArgs e)
		{
			InitializeComponent();
			base.OnInit(e);
		}

		private void InitializeComponent()
		{
			this.ddlTipoVivienda.SelectedIndexChanged += new System.EventHandler(this.ddlTipoVivienda_SelectedIndexChanged);
			this.ddlSLA_ID.SelectedIndexChanged += new System.EventHandler(this.ddlSLA_ID_SelectedIndexChanged);
			this.dplFIN_ID.SelectedIndexChanged += new System.EventHandler(this.dplFIN_ID_SelectedIndexChanged);
			this.Load += new System.EventHandler(this.Page_Load);

		}

		#endregion		

		private void MantenerEstadoVisualFormulario()
		{	
			lblREG_SALUD_ID.Enabled = (opcAGE_SEGURIDAD_SOCIAL_SALUD.SelectedValue == "1");
			dplREG_SALUD_ID.Enabled = (opcAGE_SEGURIDAD_SOCIAL_SALUD.SelectedValue == "1");
						
			lblREG_PENSIONES_ID.Enabled = (opcAGE_SEGURIDAD_SOCIAL_PENSIONES.SelectedValue == "1");
			dplREG_PENSIONES_ID.Enabled = (opcAGE_SEGURIDAD_SOCIAL_PENSIONES.SelectedValue == "1");
		}

		private void dplFIN_ID_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			if (dplFIN_ID.SelectedValue.ToString() == "7")
			{
				lblAGE_PORCENTAJE_ACTIVIDAD_ATISTICA.Enabled = false;
				txtAGE_PORCENTAJE_ACTIVIDAD_ATISTICA.Enabled = false;
				lb_Porcentaje.Enabled = false;
				regAGE_PORCENTAJE_ACTIVIDAD_ATISTICA.Enabled = false;
				regAGE_PORCENTAJE_ACTIVIDAD_ATISTICA2.Enabled = false;				
			}
			else
			{
				lblAGE_PORCENTAJE_ACTIVIDAD_ATISTICA.Enabled = true;
				txtAGE_PORCENTAJE_ACTIVIDAD_ATISTICA.Enabled = true;
				lb_Porcentaje.Enabled = true;
				regAGE_PORCENTAJE_ACTIVIDAD_ATISTICA.Enabled = true;
				regAGE_PORCENTAJE_ACTIVIDAD_ATISTICA2.Enabled = true;								
			}
			lblAGE_PORCENTAJE_ACTIVIDAD_ATISTICA.UpdateAfterCallBack = true;
			txtAGE_PORCENTAJE_ACTIVIDAD_ATISTICA.UpdateAfterCallBack = true;
			lb_Porcentaje.UpdateAfterCallBack = true;
			regAGE_PORCENTAJE_ACTIVIDAD_ATISTICA.UpdateAfterCallBack = true;
			regAGE_PORCENTAJE_ACTIVIDAD_ATISTICA2.UpdateAfterCallBack = true;	
			
			dplREG_SALUD_ID.Enabled = opcAGE_SEGURIDAD_SOCIAL_SALUD.SelectedValue == "1";
				
			dplREG_PENSIONES_ID.Enabled = opcAGE_SEGURIDAD_SOCIAL_PENSIONES.SelectedValue == "1";
			dplREG_PENSIONES_ID.UpdateAfterCallBack = true;
			dplREG_SALUD_ID.UpdateAfterCallBack = true;				
		}
	}
}